package com.kpmg.datalake.db.dao;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.kpmg.datalake.db.model.RqsList;

/**
 * 查询请求表 RQS_LIST Mapper
 * @author Tony
 */
public interface RqsListMapper {
	
	/**
	 * 依据项目查询请求列表
	 * @param userId
	 * @param projectId
	 * @return
	 */
	List<RqsList> selectByUserId(@Param("prjId")String projectId);
	
	/**
	 * 根据查询条件模糊查询
	 * @param projectId
	 * @param searchValue
	 * @return
	 */
	List<RqsList> selectBySearch(@Param("prjId")String projectId, @Param("searchValue")String searchValue, @Param("orderColumn")String orderColumn, @Param("orderDir")String orderDir);
	
	/**
	 * 检查查询请求是否已存在
	 * @param acgAnul
	 * @param accprdBegdt
	 * @param accprdEnddt
	 * @param rptTpId
	 * @param fileFmtId
	 * @param prjId
	 * @return
	 */
	List<HashMap<String, String>> checkRequestList(@Param("acgAnul")String acgAnul,@Param("accprdBegdt")String accprdBegdt,
			@Param("accprdEnddt")String accprdEnddt,@Param("rptTpId")String rptTpId,@Param("fileFmtId")String fileFmtId,
			@Param("prjId")String prjId);
	
	/**
	 * 统计用户请求次数
	 * @param userId
	 * @return
	 */
	int getUserRqsCount(@Param("usrId") String userId);
	
	/**
	 * 获取正在执行的请求任务
	 * @return
	 */
	List<RqsList> getRunningRqs();
	
	RqsList selectByPrimaryKey(String rqsListId);
	
	int deleteByPrimaryKey(String rqsListId);

	int insertSelective(RqsList record);

	int updateByPrimaryKeySelective(RqsList record);

}